/**
 * 
 */
package fr.afcepf.al23.qualite.exception;

/**
 * Represente les exceptions.
 * @author Stagiaire
 *
 */
public class QualityException extends Exception {

    /**
     * numero de serie.
     */
    private static final long serialVersionUID = 1L;

    /**
     * enumeration des codes d'erreurs.
     * @author Stagiaire
     *
     */
    public static enum ErrorCode {
        /**
         * lors de l'enregistrement de l'utilisateur.
         */
        MAILEXISTE,
        /**
         * lors de l'enregistrement de la commande.
         */
        COMMANDEINVALIDE
    }

    /**
     * code message d'erreur.
     */
    private ErrorCode code;

    /**
     * constructeur vide.
     */
    public QualityException() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * constructeur surcharge.
     * @param paramArg0 message
     * @param paramArg1 cause
     * @param paramArg2 enableSuppression
     * @param paramArg3 writableStackTrace
     */
    public QualityException(String paramArg0, Throwable paramArg1,
            boolean paramArg2, boolean paramArg3) {
        super(paramArg0, paramArg1, paramArg2, paramArg3);
        // TODO Auto-generated constructor stub
    }

    /**
     * constructeur surcharge.
     * @param paramArg0 message
     * @param paramArg1 cause
     */
    public QualityException(String paramArg0, Throwable paramArg1) {
        super(paramArg0, paramArg1);
        // TODO Auto-generated constructor stub
    }

    /**
     * constructeur surcharge.
     * @param paramArg0 message
     */
    public QualityException(String paramArg0) {
        super(paramArg0);
        // TODO Auto-generated constructor stub
    }

    /**
     * constructeur surcharge.
     * @param paramArg0 cause
     */
    public QualityException(Throwable paramArg0) {
        super(paramArg0);
        // TODO Auto-generated constructor stub
    }

    /**
     * @return the code
     */
    public ErrorCode getCode() {
        return code;
    }

    /**
     * @param paramCode the code to set
     */
    public void setCode(ErrorCode paramCode) {
        code = paramCode;
    }

}
